#ifndef _ODN_SCENE_ELEMENT_H
#define _ODN_SCENE_ELEMENT_H

//Engine headers
#include "odn_bsc_Vector3D.h"
#include "odn_Element.h"

using ouden::basic::Vector3D;

namespace ouden
{
	namespace scene
	{
		
		//Main scene element class from which all scene elements are derived
		class ODN_SceneElement : public ODN_Element
		{
		
		public:
		
		    //Constructor and destructor
		    ODN_SceneElement();
			virtual ~ODN_SceneElement();
		
			//Main functions
			virtual bool Update(float TimeStep) = 0;  //TODO: Check if need TimeStep 
			virtual void Draw() = 0; 
			
			//Physical variables
			Vector3D pos;  		//Position of the object. May mean different things for different objects 
			Vector3D size;		//Size of the object. May mean different things for different objects 
			
		private:
			
			//TODO: Work out how to do rendering 
			
		
		};
		
	} //namespace scene
} //namespace ouden

#endif
